package com.triadsystems.cashweb.modelo.negocio.servicos.impl;

import java.io.Serializable;
import java.util.List;

import javax.inject.Named;

import com.icon.infra.modelo.negocio.excecoes.ConsultaInvalidaException;
import com.icon.infra.modelo.negocio.excecoes.ObjetoNaoEncontradoException;
import com.icon.infra.modelo.persistencia.dao.impl.DAOHibernateTemplate;
import com.triadsystems.cashweb.modelo.negocio.servicos.IFilialServico;
import com.triadsystems.cashweb.modelo.persistencia.entidades.Empresa;
import com.triadsystems.cashweb.modelo.persistencia.entidades.Filial;

@SuppressWarnings("unchecked")
@Named
public class FilialServico extends DAOHibernateTemplate<Filial> implements IFilialServico, Serializable {
	private static final long serialVersionUID = 1L;

	public List<Filial> recuperarFiliais(Empresa idEmpresa) throws ObjetoNaoEncontradoException, ConsultaInvalidaException {
		
		String hql = "from Filial filial where filial.empresa.id = :idEmpresa";

		String[] params = { "idEmpresa" };
		Object[] valores = { idEmpresa };

		List<Filial> resultado =  recuperarObjetosPorHQL(hql, params,
				valores, false);

		return resultado;
		
	}
}
